package com.probiz.estore.product.service;

import java.util.List;

import com.probiz.estore.common.model.product.WholesalePrice;
import com.probiz.estore.common.model.product.ProductSku;
import com.probiz.estore.core.service.GenericManager;

/**
 * Manager interface for WholesalePrice, responsible for business processing, and communicate between web and persistence layer.
 *
 */
public interface WholesalePriceManager extends GenericManager<WholesalePrice> {

	/**
	 * 保存批发价，从数组中获取必要参数
	 * SKU 批发价对应的产品规格
	 * @param skuId 这些批发价是属于哪些sku的id数组
	 * @param wpIds 批发价id数组
	 * @param wpSkuIds 批发价对应的sku id数组
	 * @param wpMinQuantitys 批发价起始数量数组
	 * @param wpMaxQuantitys 批发价截止数量数组
	 * @param wpPrices 批发价价格数组
	 * @param wpDeliveryDays 备货天数数组
	 * return 新的批发价id数组
	 **/
	public List<String> saveWholesalePriceFromArrays(String[] skuId,String[] wpSkuIds, String[] wpIds,
			String[] wpMinQuantitys, String[] wpMaxQuantitys,
			String[] wpPrices, String[] wpDeliveryDays);
	
	/**
	 * 批修改批发价 从数组中获取必要参数
	 * @param sku 单品
	 * @param wpMinQuantitys   批发价起始数量数组
	 * @param wpMaxQuantitys  批发价截止数量数组
	 * @param wpPrices 批发价价格数组
	 * @return
	 */
	public List<String> doBulkEditWholesalePriceFromArrays(ProductSku sku,String[] wpMinQuantitys, String[] wpMaxQuantitys,	String[] wpPrices);
	/**
	 * 保存批发价，导入模块使用
	 * @param productSku
	 * @param wholesalePriceList
	 */
	public void saveWholesalePriceForImport(ProductSku productSku, List<WholesalePrice> wholesalePriceList);
}
